﻿#include <iostream>
#include <vector>
using namespace std;


class Solution
{
public:
    // 467. 环绕字符串中唯一的子字符串
    int findSubstringInWraproundString(string s)
    {
        int n = s.size();
        vector<int> dp(n, 1);

        for (int i = 1; i < n; i++)
        {
            if (s[i - 1] + 1 == s[i] || (s[i - 1] == 'z' && s[i] == 'a'))
                dp[i] += dp[i - 1];
        }

        int hash[26] = { 0 };
        // 去重
        for (int i = 0; i < n; i++)
        {
            hash[s[i] - 'a'] = max(hash[s[i] - 'a'], dp[i]);
        }

        // 总和
        int ret = 0;
        for (auto num : hash)
            ret += num;

        return ret;
    }
};

int main()
{

    return 0;
}